﻿using System.Collections.Generic;
using Neturion.Dados;
using Neturion.IRepositorios;
using Neturion.Repositorios;

namespace Neturion.Negocios
{
    /// <summary>
    /// 
    /// </summary>
    public class NegocioEmpresa
    {
        private IRepositorioEmpresa _repositorioEmpresa;

        /// <summary>
        /// 
        /// </summary>
        public NegocioEmpresa()
        {
            _repositorioEmpresa = new RepositorioEmpresa();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="empresa"></param>
        /// <returns></returns>
        public Empresa Inserir(Empresa empresa)
        {
            return _repositorioEmpresa.Inserir(empresa);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="empresa"></param>
        /// <returns></returns>
        public Empresa Atualizar(Empresa empresa)
        {
            return _repositorioEmpresa.Atualizar(empresa);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="empresa"></param>
        public void Excluir(Empresa empresa)
        {
            Empresa empresaTmp = ObterPorId(empresa.EmpresaId);
            _repositorioEmpresa.Excluir(empresaTmp);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public IList<Empresa> ObterTodos()
        {
            return _repositorioEmpresa.ObterTodos();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Empresa ObterPorId(int id)
        {
            return _repositorioEmpresa.ObterPorId(id);
        }

        public Empresa ObterPorCodigo(string codigo)
        {
            return _repositorioEmpresa.ObterPorCodigo(codigo);
        }
    }
}